home *** CD-ROM | disk | FTP | other *** search
/ Apple II Magazines (PO) / Nibble Volume 09, No. 12 (1988-12)(MicroSPARC)(Side A)[a].zip / Nibble Volume 09, No. 12 (1988-12)(MicroSPARC)(Side A)[a].po / CC.OBJ.S < prev    next >
Text File  |  1996-12-24  |  29KB  |  1,671 lines

  1. *
  2.           LST OFF
  3. * CC.OBJ Source Code
  4. * By John Romero
  5. * Copyright(C) 1988
  6. * MicroSPARC, Inc.
  7. * Concord, MA 01742
  8. *
  9. *
  10. * Assembler:
  11. *  Merlin Pro
  12. *
  13. *
  14.           ORG $8000
  15. *
  16. DRAWX     = $300
  17. DRAWY     = DRAWX+1
  18. NUM       = DRAWY+1
  19. *
  20. VERT      = 249
  21. DEPT      = VERT+1
  22. HORZ      = DEPT+1
  23. WIDT      = HORZ+1
  24. TEMP      = WIDT+1
  25. HP        = 0
  26. SH        = 254
  27. *
  28. LEVEL     = NUM+1
  29. WAIT      = LEVEL+1
  30. KUP       = WAIT+1
  31. KDN       = KUP+1
  32. KLF       = KDN+1
  33. KRT       = KLF+1
  34. KFI       = KRT+1
  35. RCODE     = KFI+1
  36. CITIES    = RCODE+1
  37. SCOR2     = CITIES+1
  38. SCOR1     = SCOR2+1
  39. SCOR0     = SCOR1+1
  40. CTRLS     = SCOR0+1
  41. SCLR      = CTRLS+1
  42. KORJ      = SCLR+3
  43. *
  44. *
  45. *
  46. X         = $6200
  47. Y         = X+1
  48. MX        = Y+1
  49. MY        = MX+20
  50. XV        = MY+20
  51. YV        = XV+1
  52. MXV       = YV+1
  53. MYV       = MXV+20
  54. MSHP      = MYV+20
  55. ALIVE     = MSHP+20
  56. TIMER     = ALIVE+20
  57. TTEMP     = TIMER+20
  58. XTIMER    = TTEMP+20
  59. XTTEMP    = XTIMER+20
  60. CX        = XTTEMP+20
  61. CE        = CX+10
  62. SX        = CE+10
  63. ST        = SX+10
  64. BT        = ST+10
  65. BX        = BT+10
  66. CALIVE    = BX+10
  67. SALIVE    = CALIVE+10
  68. SE        = SALIVE+10
  69. SHX       = SE+10
  70. SHY       = SHX+20
  71. SHALIVE   = SHY+20
  72. SHXV      = SHALIVE+20
  73. MET1      = SHXV+20
  74. MESHP     = MET1+20
  75. MEX       = MESHP+20
  76. MEY       = MEX+20
  77. STX       = MEY+20
  78. STY       = STX+50
  79. FIRE      = STY+50
  80. SHAPE     = FIRE+1
  81. OSHAPE    = SHAPE+1
  82. INDEX     = OSHAPE+1
  83. INDEX1    = INDEX+1
  84. ET1       = INDEX1+1
  85. ESHP      = ET1+1
  86. AL        = ESHP+1
  87. EX        = AL+1
  88. EY        = EX+1
  89. CET1      = EY+1
  90. CESHP     = CET1+10
  91. CEX       = CESHP+10
  92. CYCLES    = CEX+10
  93. CYC1      = CYCLES+1
  94. BON       = CYC1+1
  95. BOMX      = BON+20
  96. BOMY      = BOMX+20
  97. BET1      = BOMY+20
  98. BEX       = BET1+20
  99. BEY       = BEX+20
  100. BESHP     = BEY+20
  101. STIMER    = BESHP+20
  102. *
  103. *
  104. *
  105. DRAW      LDX NUM
  106.           LDA SHPL,X
  107.           STA SH
  108.           LDA SHPH,X
  109.           STA SH+1
  110.           LDX DRAWX
  111.           LDY DRAWY
  112. DRAW0     STX HORZ
  113.           STY VERT
  114.           LDY #0
  115.           LDX #0
  116.           LDA (SH),Y
  117.           STA WIDT
  118.           STA TEMP
  119.           INY
  120.           LDA (SH),Y
  121.           STA DEPT
  122.           INC SH
  123.           INC SH
  124. DRAW1     JSR GET
  125.           JMP DRAW2
  126. GET       LDY VERT
  127.           LDA $6000,Y
  128.           STA HP+1
  129.           LDA $6100,Y
  130.           CLC
  131.           ADC HORZ
  132.           STA HP
  133.           LDY #0
  134.           RTS
  135. DRAW2     LDA (SH,X)
  136.           EOR (HP),Y
  137.           STA (HP),Y
  138.           INC SH
  139.           INY
  140.           DEC WIDT
  141.           BNE DRAW2
  142.           LDA TEMP
  143.           STA WIDT
  144.           INC VERT
  145.           DEC DEPT
  146.           BNE DRAW1
  147.           RTS
  148. BXDRAW    JSR BSETUP
  149.           JMP DRAW0
  150. BSETUP    STX TEMP
  151.           TAX
  152.           LDA SHPL,X
  153.           STA SH
  154.           LDA SHPH,X
  155.           STA SH+1
  156.           LDX TEMP
  157.           RTS
  158. SHPL      HEX 000C18202830384E
  159.           HEX 586266788A9C0000
  160. SHPH      HEX 4040404040404040
  161.           HEX 4040404040404040
  162. *
  163. * THE GAME STARTS HERE
  164. *
  165.           LDA #19
  166.           STA X
  167.           LDA #70
  168.           STA Y
  169.           LDA #$4C
  170.           STA SCLR
  171.           LDA #<SCLEAR
  172.           STA SCLR+1
  173.           LDA #>SCLEAR
  174.           STA SCLR+2
  175. *
  176.           LDA #0
  177.           STA FIRE
  178.           STA SHAPE
  179.           STA OSHAPE
  180.           STA XV
  181.           STA YV
  182.           STA ET1
  183.           STA RCODE
  184.           STA CYCLES
  185. *
  186.           LDX #19
  187. LOOP      STA SHALIVE,X
  188.           STA SHXV,X
  189.           DEX
  190.           BPL LOOP
  191. *
  192.           JSR PCITIES
  193.           JSR PSCOR
  194.           LDA #1
  195.           STA AL
  196.           STA STIMER
  197.           BIT $C010
  198.           BIT -16301
  199. *
  200. MAIN      JSR CONT
  201.           JSR JOY:X
  202.           JSR SCROLL
  203.           JSR PMOVE
  204. *
  205. MAIN:0    JSR M:MOVE
  206.           JSR C:MOVE
  207.           JSR SAT:MOVE
  208.           JSR BEAM:MOVE
  209.           JSR BOMB:MOVE
  210.           JSR SHOT
  211.           JSR JOY:Y
  212.           JSR BUTTON
  213.           JSR STARS
  214. *
  215.           JSR SHOT?ALIEN
  216.           JSR ALIEN?SHIP
  217.           JSR BEAM?SHIP
  218.           JSR INCITY?
  219.           JSR CITY?ALIEN
  220.           JSR BOMB?CITY
  221.           JSR SHOT?BOMB
  222.           JSR ENDGAME?
  223.           JSR SAFE?
  224.           JSR HURT?
  225. *
  226.           JSR EX:ALIEN
  227.           JSR EX:SHIP
  228.           JSR EX:CITY
  229.           JSR EX:BOMB
  230. *
  231.           LDA WAIT
  232.           JSR $FCA8
  233.           LDA RCODE
  234.           BEQ MAIN
  235.           RTS
  236. *
  237. CONT      LDA AL
  238.           BNE CONT:0
  239.           RTS
  240. CONT:0    LDA $C000
  241.           BPL CONT:END
  242.           BIT $C010
  243.           LDY KORJ
  244.           CPY #"J"
  245.           BNE CONT:0A
  246.           JMP CONT:5
  247. CONT:0A   CMP KUP
  248.           BNE CONT:1
  249.           LDA YV
  250.           SEC
  251.           SBC #1
  252.           STA YV
  253.           BPL CONT:END
  254.           CMP #251
  255.           BCS CONT:END
  256.           LDA #251
  257.           STA YV
  258.           RTS
  259. CONT:1    CMP KDN
  260.           BNE CONT:2
  261.           LDA YV
  262.           CLC
  263.           ADC #1
  264.           STA YV
  265.           BMI CONT:END
  266.           CMP #6
  267.           BCC CONT:END
  268.           LDA #5
  269.           STA YV
  270.           RTS
  271. CONT:2    CMP KLF
  272.           BNE CONT:3
  273. CONT:2A   LDA XV
  274.           SEC
  275.           SBC #1
  276.           STA XV
  277.           BPL CONT:END
  278.           CMP #255
  279.           BCS CONT:END
  280.           LDA #255
  281.           STA XV
  282. CONT:END  RTS
  283. CONT:3    CMP KRT
  284.           BNE CONT:4
  285. CONT:3A   LDA XV
  286.           CLC
  287.           ADC #1
  288.           STA XV
  289.           BMI CONT:END
  290.           CMP #2
  291.           BCC CONT:END
  292.           LDA #1
  293.           STA XV
  294.           RTS
  295. CONT:4    CMP KFI
  296.           BNE CONT:5
  297.           LDA #1
  298.           STA FIRE
  299.           BIT $C010
  300.           RTS
  301. CONT:5    CMP #155
  302.           BNE CONT:6
  303.           BIT $C010
  304. CONT:5A   LDA $C000
  305.           BPL CONT:5A
  306.           CMP #155
  307.           BEQ CONT:END
  308.           BIT $C010
  309.           RTS
  310. CONT:6    CMP #147
  311.           BNE CONT:7
  312.           BIT $C010
  313.           LDA CTRLS
  314.           BNE CONT:6A
  315.           LDA #1
  316.           STA CTRLS
  317.           RTS
  318. CONT:6A   LDA #0
  319.           STA CTRLS
  320.           RTS
  321. CONT:7    CMP #145
  322.           BNE CONT:END
  323.           LDA #4
  324.           STA RCODE
  325.           RTS
  326. *
  327. *
  328. *
  329. PMOVE     LDA AL
  330.           BNE PMOVE0
  331.           RTS
  332. PMOVE0    LDA SHAPE
  333.           STA OSHAPE
  334.           LDX X
  335.           LDY Y
  336.           LDA OSHAPE
  337.           JSR BXDRAW
  338. *
  339.           LDA XV
  340.           CMP #255
  341.           BNE PM:0
  342.           LDA #0
  343.           STA SHAPE
  344.           BEQ PM:00
  345. PM:0      LDA XV
  346.           CMP #1
  347.           BNE PM:00
  348.           STA SHAPE
  349. *
  350. PM:00     LDA Y
  351.           CLC
  352.           ADC YV
  353.           STA Y
  354.           CMP #5
  355.           BCS PM:1
  356.           LDA #5
  357.           STA Y
  358.           LDA #0
  359.           STA YV
  360.           BNE PM:4
  361. PM:1      CMP #140
  362.           BCC PM:4
  363.           LDA #139
  364.           STA Y
  365.           LDA #0
  366.           STA YV
  367. *
  368. PM:4      LDX X
  369.           LDY Y
  370.           LDA SHAPE
  371.           JMP BXDRAW
  372. *
  373. *
  374. *
  375. M:MOVE    LDA #19
  376.           STA INDEX
  377. M:M       LDX INDEX
  378.           LDA ALIVE,X
  379.           BNE M:M1
  380. M:M0      DEC INDEX
  381.           BPL M:M
  382.           RTS
  383. *
  384. M:M1      LDA MX,X
  385.           CMP #40
  386.           BCS M:M2
  387.           LDA MSHP,X
  388.           PHA
  389.           LDY MY,X
  390.           LDA MX,X
  391.           TAX
  392.           PLA
  393.           JSR BXDRAW
  394.           LDX INDEX
  395. *
  396. M:M2      LDA XV
  397.           CMP #255
  398.           BNE M:M3
  399.           LDA MX,X
  400.           CLC
  401.           ADC #1
  402.           STA MX,X
  403.           JMP M:M4
  404. M:M3      CMP #1
  405.           BNE M:M4
  406.           LDA MX,X
  407.           SEC
  408.           SBC #1
  409.           STA MX,X
  410. M:M4      LDA MX,X
  411.           CLC
  412.           ADC MXV,X
  413.           STA MX,X
  414. *
  415.           LDA MY,X
  416.           CLC
  417.           ADC MYV,X
  418.           STA MY,X
  419.           CMP #5
  420.           BCS M:M5
  421.           LDA #5
  422.           STA MY,X
  423.           JSR FLIPY
  424.           JMP M:M6
  425. M:M5      CMP #133
  426.           BCC M:M6
  427.           LDA #133
  428.           STA MY,X
  429.           JSR FLIPY
  430. *
  431. M:M6      DEC TIMER,X
  432.           BNE M:M7
  433.           JSR FLIPY
  434.           LDA TTEMP,X
  435.           STA TIMER,X
  436.           DEC XTIMER,X
  437.           BNE M:M7
  438.           LDA XTTEMP,X
  439.           STA XTIMER,X
  440.           JSR FLIPX
  441. M:M7      LDA MX,X
  442.           CMP #40
  443.           BCS M:M8
  444.           LDY #8
  445.           JSR SOUND
  446.           LDA MSHP,X
  447.           PHA
  448.           LDY MY,X
  449.           LDA MX,X
  450.           TAX
  451.           PLA
  452.           JSR BXDRAW
  453. M:M8      JMP M:M0
  454. FLIPY     LDA MYV,X
  455.           BMI FLIPY:1
  456.           LDA #0
  457.           SEC
  458.           SBC MYV,X
  459.           STA MYV,X
  460.           RTS
  461. FLIPY:1   LDA MYV,X
  462.           EOR #$FF
  463.           CLC
  464.           ADC #1
  465.           STA MYV,X
  466.           RTS
  467. FLIPX     LDA MXV,X
  468.           BMI FLIPX:1
  469.           LDA #255
  470.           STA MXV,X
  471.           RTS
  472. FLIPX:1   LDA #1
  473.           STA MXV,X
  474.           RTS
  475. *
  476. *
  477. *
  478. SCROLL    LDA AL
  479.           BNE SCR
  480.           RTS
  481. SCR       LDA #145
  482.           STA VERT
  483.           LDA #10
  484.           STA DEPT
  485.           LDA #0
  486.           STA HORZ
  487.           LDA XV
  488.           BMI SCRIGHT
  489.           BNE SCRLEFT
  490.           LDA #10
  491.           JMP $FCA8
  492. SCRIGHT   JSR GET
  493.           LDY #39
  494.           LDA (HP),Y
  495.           PHA
  496. SCRT2     DEY
  497.           LDA (HP),Y
  498.           INY
  499.           STA (HP),Y
  500.           DEY
  501.           BNE SCRT2
  502.           PLA
  503.           STA (HP),Y
  504.           INC VERT
  505.           DEC DEPT
  506.           BNE SCRIGHT
  507.           RTS
  508. SCRLEFT   JSR GET
  509. SCRL1     LDY #0
  510.           LDA (HP),Y
  511.           PHA
  512. SCRL2     INY
  513.           LDA (HP),Y
  514.           DEY
  515.           STA (HP),Y
  516.           INY
  517.           CPY #39
  518.           BNE SCRL2
  519.           PLA
  520.           STA (HP),Y
  521.           INC VERT
  522.           DEC DEPT
  523.           BNE SCRLEFT
  524.           RTS
  525. *
  526. *
  527. *
  528. C:MOVE    LDA AL
  529.           BNE C:M0
  530.           RTS
  531. C:M0      LDA #9
  532.           STA INDEX
  533. C:M1      LDX INDEX
  534.           LDA CALIVE,X
  535.           BNE C:M3
  536. C:M2      DEC INDEX
  537.           BPL C:M1
  538.           RTS
  539. C:M3      LDA CX,X
  540.           CMP #39
  541.           BCS C:M4
  542.           LDY #134
  543.           LDA CX,X
  544.           TAX
  545.           LDA #6
  546.           JSR BXDRAW
  547.           LDX INDEX
  548. *
  549. C:M4      LDA XV
  550.           BEQ C:M5
  551.           LDA CX,X
  552.           SEC
  553.           SBC XV
  554.           STA CX,X
  555. C:M5      LDA CX,X
  556.           CMP #39
  557.           BCS C:M2
  558.           LDY #134
  559.           LDA CX,X
  560.           TAX
  561.           LDA #6
  562.           JSR BXDRAW
  563.           JMP C:M2
  564. *
  565. *
  566. *
  567. SAT:MOVE  LDA AL
  568.           BNE SAT:M0
  569.           RTS
  570. SAT:M0    LDA #9
  571.           STA INDEX
  572. SAT:M1    LDX INDEX
  573.           LDA SALIVE,X
  574.           BNE SAT:M3
  575. SAT:M2    DEC INDEX
  576.           BPL SAT:M1
  577.           RTS
  578. SAT:M3    JSR BEAM:START
  579.           LDA SX,X
  580.           CMP #40
  581.           BCS SAT:M4
  582.           LDY #0
  583.           TAX
  584.           LDA #7
  585.           JSR BXDRAW
  586.           LDX INDEX
  587.           LDA SX,X
  588.           TAX
  589.           LDY #136
  590.           LDA #8
  591.           JSR BXDRAW
  592.           LDX INDEX
  593. SAT:M4    LDA XV
  594.           BEQ SAT:M5
  595.           LDA SX,X
  596.           SEC
  597.           SBC XV
  598.           STA SX,X
  599. SAT:M5    LDA SX,X
  600.           CMP #40
  601.           BCS SAT:M2
  602.           LDY #0
  603.           TAX
  604.           LDA #7
  605.           JSR BXDRAW
  606.           LDX INDEX
  607.           LDA SX,X
  608.           TAX
  609.           LDY #136
  610.           LDA #8
  611.           JSR BXDRAW
  612.           JMP SAT:M2
  613. *
  614. *
  615. *
  616. BEAM:START
  617.           LDA BT,X
  618.           BEQ BEAM:S0
  619.           RTS
  620. BEAM:S0   DEC ST,X
  621.           BEQ BEAM:S1
  622.           RTS
  623. BEAM:S1   LDA #100
  624.           STA BT,X
  625.           LDA SX,X
  626.           STA BX,X
  627.           CMP #40
  628.           BCC BEAM:S2
  629.           RTS
  630. BEAM:S2   STA HORZ
  631.           LDA #10
  632.           STA VERT
  633.           LDA #124
  634.           STA DEPT
  635. BEAM:S3   JSR GET
  636.           LDA #%10101010
  637.           EOR (HP),Y
  638.           STA (HP),Y
  639.           INC VERT
  640.           DEC DEPT
  641.           BNE BEAM:S3
  642.           RTS
  643. *
  644. *
  645. *
  646. BEAM:MOVE
  647.           LDA AL
  648.           BNE BEAM:M0
  649.           RTS
  650. BEAM:M0   LDA #9
  651.           STA INDEX
  652. BEAM:M1   LDX INDEX
  653.           LDA BT,X
  654.           BNE BEAM:M3
  655. BEAM:M2   DEC INDEX
  656.           BPL BEAM:M1
  657.           RTS
  658. BEAM:M3   LDA BX,X
  659.           CMP #40
  660.           BCS BEAM:M4
  661.           JSR BEAM:S2
  662. BEAM:M4   LDA XV
  663.           BEQ BEAM:M5
  664.           LDA BX,X
  665.           SEC
  666.           SBC XV
  667.           STA BX,X
  668. BEAM:M5   DEC BT,X
  669.           BNE BEAM:M6
  670.           JMP BEAM:M2
  671. BEAM:M6   LDA BX,X
  672.           CMP #40
  673.           BCS BEAM:M2
  674.           JSR BEAM:S2
  675.           LDA #4
  676.           LDY #8
  677.           JSR SOUND
  678.           JMP BEAM:M2
  679. *
  680. *
  681. *
  682. SOUND     PHA
  683.           LDA CTRLS
  684.           BEQ S3
  685. S1        PLA
  686.           PHA
  687. S2        SEC
  688.           SBC #1
  689.           BNE S2
  690.           BIT $C030
  691.           DEY
  692.           BNE S1
  693. S3        PLA
  694.           RTS
  695. *
  696. *
  697. *
  698. SHOT      LDA AL
  699.           BNE SHOT:00
  700.           BEQ SHOT:1
  701. SHOT:00   LDA FIRE
  702.           BEQ SHOT:1
  703.           LDX #19
  704. SHOT:0    LDA SHALIVE,X
  705.           BEQ SHOT:0A
  706.           DEX
  707.           BPL SHOT:0
  708.           BMI SHOT:1
  709. SHOT:0A   LDA SHAPE
  710.           BEQ SHOT:0B
  711.           LDA X
  712.           CLC
  713.           ADC #2
  714.           STA SHX,X
  715.           LDA #1
  716.           STA SHXV,X
  717.           BNE SHOT:0C
  718. SHOT:0B   LDA X
  719.           SEC
  720.           SBC #1
  721.           STA SHX,X
  722.           LDA #255
  723.           STA SHXV,X
  724. SHOT:0C   LDA #1
  725.           STA SHALIVE,X
  726.           LDA Y
  727.           CLC
  728.           ADC #3
  729.           STA SHY,X
  730.           TAY
  731.           LDA SHX,X
  732.           TAX
  733.           LDA #9
  734.           JSR BXDRAW
  735.           LDA #0
  736.           STA FIRE
  737.           LDA #10
  738.           LDY #10
  739.           JSR SOUND
  740. SHOT:1    LDA #19
  741.           STA INDEX
  742. SHOT:1A   LDX INDEX
  743.           LDA SHALIVE,X
  744.           BEQ SHOT:2A
  745.           LDA SHX,X
  746.           LDY SHY,X
  747.           TAX
  748.           LDA #9
  749.           JSR BXDRAW
  750.           LDX INDEX
  751.           LDA SHX,X
  752.           CLC
  753.           ADC SHXV,X
  754.           STA SHX,X
  755.           CMP #40
  756.           BCC SHOT:3
  757.           LDA #0
  758.           STA SHALIVE,X
  759. SHOT:2A   DEC INDEX
  760.           BPL SHOT:1A
  761.           RTS
  762. SHOT:3    LDY SHY,X
  763.           TAX
  764.           LDA #9
  765.           JSR BXDRAW
  766.           JMP SHOT:2A
  767. *
  768. *
  769. *
  770. SHOT?ALIEN
  771.           LDA #19
  772.           STA INDEX
  773. SH?A1     LDX INDEX
  774.           LDA ALIVE,X
  775.           BNE SH?A3
  776. SH?A2     DEC INDEX
  777.           BPL SH?A1
  778.           RTS
  779. SH?A3     LDY INDEX
  780.           LDA #19
  781.           STA INDEX1
  782. SH?A4     LDX INDEX1
  783.           LDA SHALIVE,X
  784.           BNE SH?A6
  785. SH?A5     DEC INDEX1
  786.           BPL SH?A4
  787.           BMI SH?A2
  788. SH?A6     LDA SHX,X
  789.           CMP MX,Y
  790.           BNE SH?A5
  791.           LDA SHY,X
  792.           SEC
  793.           SBC MY,Y
  794.           CMP #8
  795.           BCC SH?A7
  796.           CMP #255
  797.           BCC SH?A5
  798. SH?A7     LDA #0
  799.           STA SHALIVE,X
  800.           LDY SHY,X
  801.           LDA SHX,X
  802.           TAX
  803.           LDA #9
  804.           JSR BXDRAW
  805. *
  806. * ERASE ALIEN
  807. *
  808.           LDX INDEX
  809.           LDA #0
  810.           STA ALIVE,X
  811.           LDA #20
  812.           STA MET1,X
  813.           LDY MY,X
  814.           TYA
  815.           STA MEY,X
  816.           LDA MSHP,X
  817.           PHA
  818.           LDA MX,X
  819.           STA MEX,X
  820.           TAX
  821.           PLA
  822.           JSR BXDRAW
  823. *
  824. * SET UP EXPLO NOISE
  825. *
  826.           LDA #30
  827.           LDY #40
  828.           JSR SOUND
  829.           JSR APOINTS
  830.           JMP SH?A2
  831. *
  832. *
  833. *
  834. EX:ALIEN  LDA #19
  835.           STA INDEX
  836. EX:A1     LDX INDEX
  837.           LDA MET1,X
  838.           BNE EX:A3
  839. EX:A2     DEC INDEX
  840.           BPL EX:A1
  841.           RTS
  842. EX:A3     CMP #20
  843.           BCC EX:A4
  844.           LDA #10
  845.           STA MESHP,X
  846.           JSR BEXDRAW
  847.           LDX INDEX
  848.           DEC MET1,X
  849. EX:A4     JSR BEXDRAW
  850.           JSR EX:MOVE
  851.           INC MESHP,X
  852.           LDA MESHP,X
  853.           CMP #13
  854.           BEQ EX:A5
  855.           JSR BEXDRAW
  856.           JMP EX:A2
  857. EX:A5     LDA #10
  858.           STA MESHP,X
  859.           JSR BEXDRAW
  860.           DEC MET1,X
  861.           BEQ EX:A6
  862.           JMP EX:A2
  863. EX:A6     JSR BEXDRAW
  864.           JMP EX:A2
  865. *
  866. BEXDRAW   LDX INDEX
  867.           LDY MEY,X
  868.           LDA MESHP,X
  869.           PHA
  870.           LDA MEX,X
  871.           TAX
  872.           PLA
  873.           CPX #39
  874.           BCS BEXDR
  875.           JSR BXDRAW
  876.           LDX INDEX
  877.           LDA MESHP,X
  878.           LDY #8
  879.           JSR SOUND
  880. BEXDR     LDX INDEX
  881.           RTS
  882. *
  883. EX:MOVE   LDX INDEX
  884.           LDA AL
  885.           BNE EX:MO0
  886.           RTS
  887. EX:MO0    LDA XV
  888.           BNE EX:MO1
  889.           RTS
  890. EX:MO1    LDA MEX,X
  891.           SEC
  892.           SBC XV
  893.           STA MEX,X
  894.           RTS
  895. *
  896. *
  897. *
  898. EX:SHIP   LDA ET1
  899.           BNE EX:S1
  900.           RTS
  901. EX:S1     CMP #20
  902.           BCC EX:S2
  903.           LDA #10
  904.           STA ESHP
  905.           JSR BPDRAW
  906.           DEC ET1
  907. EX:S2     JSR BPDRAW
  908.           INC ESHP
  909.           LDA ESHP
  910.           CMP #13
  911.           BEQ EX:S3
  912.           JMP BPDRAW
  913. EX:S3     LDA #10
  914.           STA ESHP
  915.           JSR BPDRAW
  916.           DEC ET1
  917.           BEQ EX:S4
  918.           RTS
  919. EX:S4     JSR BPDRAW
  920.           LDA #1
  921.           STA RCODE
  922.           RTS
  923. BPDRAW    LDA ESHP
  924.           ASL
  925.           LDY #10
  926.           JSR SOUND
  927.           LDX EX
  928.           LDY EY
  929.           LDA ESHP
  930.           JMP BXDRAW
  931. *
  932. *
  933. *
  934. ALIEN?SHIP
  935.           LDA AL
  936.           BNE AL?SH0
  937.           RTS
  938. AL?SH0    LDA #19
  939.           STA INDEX
  940. AL?SH1    LDX INDEX
  941.           LDA ALIVE,X
  942.           BNE AL?SH3
  943. AL?SH2    DEC INDEX
  944.           BPL AL?SH1
  945.           RTS
  946. AL?SH3    LDA MX,X
  947.           CMP X
  948.           BEQ AL?SH3A
  949.           LDA X
  950.           CLC
  951.           ADC #1
  952.           CMP MX,X
  953.           BNE AL?SH2
  954. AL?SH3A   LDA MY,X
  955.           SEC
  956.           SBC Y
  957.           CMP #5
  958.           BCC AL?SH4
  959.           CMP #250
  960.           BCC AL?SH2
  961. AL?SH4    LDA #0
  962.           STA AL
  963.           STA XV
  964.           STA YV
  965.           LDA SHAPE
  966.           LDX X
  967.           LDY Y
  968.           STX EX
  969.           STY EY
  970.           JSR BXDRAW
  971.           LDA #20
  972.           STA ET1
  973.           RTS
  974. *
  975. *
  976. *
  977. BEAM?SHIP
  978.           LDA AL
  979.           BNE BM?SH0
  980.           RTS
  981. BM?SH0    LDA #9
  982.           STA INDEX
  983. BM?SH1    LDX INDEX
  984.           LDA BT,X
  985.           BNE BM?SH3
  986. BM?SH2    DEC INDEX
  987.           BPL BM?SH1
  988.           RTS
  989. BM?SH3    LDA X
  990.           CMP BX,X
  991.           BEQ BM?SH4
  992.           LDA X
  993.           CLC
  994.           ADC #1
  995.           CMP BX,X
  996.           BNE BM?SH2
  997. BM?SH4    JSR BEAM:S2
  998.           LDX INDEX
  999.           LDA #0
  1000.           STA BT,X
  1001.           JMP AL?SH4
  1002. *
  1003. *
  1004. *
  1005. INCITY?   LDX #9
  1006. IN:CI1    LDA CALIVE,X
  1007.           BEQ IN:CI1A
  1008.           LDA CX,X
  1009.           CMP X
  1010.           BEQ IN:CI2
  1011. IN:CI1A   DEX
  1012.           BPL IN:CI1
  1013.           RTS
  1014. IN:CI2    LDA Y
  1015.           CMP #136
  1016.           BCC IN:CI1A
  1017.           LDX #19
  1018. IN:CI3    LDA ALIVE,X
  1019.           BEQ IN:CI4
  1020.           LDA CYC1
  1021.           BNE IN:CI3A
  1022.           LDA CYCLES
  1023.           BNE IN:CI3A
  1024.           JMP NOTSAFE
  1025. IN:CI3A   RTS
  1026. IN:CI4    DEX
  1027.           BPL IN:CI3
  1028.           LDA #2
  1029.           STA RCODE
  1030.           LDA #100
  1031.           TAY
  1032.           JSR SOUND
  1033.           JMP SOUND
  1034. *
  1035. *
  1036. *
  1037. STARS     LDA #49
  1038.           STA INDEX
  1039.           LDA #0
  1040.           STA HORZ
  1041. STAR:1    LDX INDEX
  1042.           LDA STY,X
  1043.           STA VERT
  1044.           JSR GET
  1045.           LDA STX,X
  1046.           TAX
  1047.           LDA $4100,X
  1048.           LDY $4200,X
  1049.           EOR (HP),Y
  1050.           STA (HP),Y
  1051. *
  1052.           LDX INDEX
  1053.           LDA XV
  1054.           BEQ STAR:2
  1055.           LDA STX,X
  1056.           SEC
  1057.           SBC XV
  1058.           STA STX,X
  1059. STAR:2    LDA STX,X
  1060.           TAX
  1061.           LDA $4100,X
  1062.           LDY $4200,X
  1063.           EOR (HP),Y
  1064.           STA (HP),Y
  1065.           DEC INDEX
  1066.           BPL STAR:1
  1067.           RTS
  1068. *
  1069. *
  1070. *
  1071. CITY?ALIEN
  1072.           LDA #9
  1073.           STA INDEX
  1074. CI?AL1    LDX INDEX
  1075.           LDA CALIVE,X
  1076.           BNE CI?AL3
  1077. CI?AL2    DEC INDEX
  1078.           BPL CI?AL1
  1079.           RTS
  1080. CI?AL3    LDY INDEX
  1081.           LDA #19
  1082.           STA INDEX1
  1083. CI?AL4    LDX INDEX1
  1084.           LDA ALIVE,X
  1085.           BNE CI?AL6
  1086. CI?AL5    DEC INDEX1
  1087.           BPL CI?AL4
  1088.           BMI CI?AL2
  1089. CI?AL6    LDA MX,X
  1090.           CMP CX,Y
  1091.           BEQ CI?AL7
  1092.           LDA CX,Y
  1093.           CLC
  1094.           ADC #1
  1095.           CMP MX,X
  1096.           BNE CI?AL5
  1097. CI?AL7    LDA MY,X
  1098.           CMP #130
  1099.           BCS CI?AL8
  1100.           BCC CI?AL5
  1101. CI?AL8    LDX INDEX
  1102.           LDA #0
  1103.           STA CALIVE,X
  1104.           LDA #20
  1105.           STA CET1,X
  1106. *
  1107.           SED
  1108.           LDA CITIES
  1109.           SEC
  1110.           SBC #1
  1111.           STA CITIES
  1112.           CLD
  1113.           JSR PCITIES
  1114.           JSR SNAG
  1115. *
  1116.           LDX INDEX
  1117.           LDY #134
  1118.           LDA CX,X
  1119.           STA CEX,X
  1120.           TAX
  1121.           LDA #6
  1122.           CPX #39
  1123.           BCS CI?AL9
  1124.           JSR BXDRAW
  1125. CI?AL9    LDX INDEX1
  1126.           LDA #0
  1127.           STA ALIVE,X
  1128.           LDA #20
  1129.           STA MET1,X
  1130.           LDY MY,X
  1131.           TYA
  1132.           STA MEY,X
  1133.           LDA MSHP,X
  1134.           PHA
  1135.           LDA MX,X
  1136.           STA MEX,X
  1137.           TAX
  1138.           PLA
  1139.           CPX #40
  1140.           BCS CI?AL10
  1141.           JSR BXDRAW
  1142. CI?AL10   JMP CI?AL2
  1143. *
  1144. *
  1145. *
  1146. EX:CITY   LDA #9
  1147.           STA INDEX
  1148. EX:CI1    LDX INDEX
  1149.           LDA CET1,X
  1150.           BNE EX:CI3
  1151. EX:CI2    DEC INDEX
  1152.           BPL EX:CI1
  1153.           RTS
  1154. EX:CI3    CMP #20
  1155.           BNE EX:CI4
  1156.           LDA #10
  1157.           STA CESHP,X
  1158.           JSR BCDRAW
  1159.           DEC CET1,X
  1160. EX:CI4    JSR BCDRAW
  1161.           JSR EX:CMOVE
  1162.           INC CESHP,X
  1163.           LDA CESHP,X
  1164.           CMP #13
  1165.           BEQ EX:CI5
  1166.           JSR BCDRAW
  1167.           JMP EX:CI2
  1168. EX:CI5    LDA #10
  1169.           STA CESHP,X
  1170.           DEC CET1,X
  1171.           BEQ EX:CI2
  1172.           JSR BCDRAW
  1173.           JMP EX:CI2
  1174. EX:CMOVE  LDA AL
  1175.           BNE EX:CM0
  1176.           RTS
  1177. EX:CM0    LDA XV
  1178.           BEQ EX:CM1
  1179.           LDA CEX,X
  1180.           SEC
  1181.           SBC XV
  1182.           STA CEX,X
  1183. EX:CM1    RTS
  1184. BCDRAW    LDX INDEX
  1185. *
  1186.           LDA CESHP,X
  1187.           ASL
  1188.           ASL
  1189.           LDY #6
  1190.           JSR SOUND
  1191.           LDA #20
  1192.           LDY #6
  1193.           JSR SOUND
  1194. *
  1195.           LDY #134
  1196.           LDA CESHP,X
  1197.           PHA
  1198.           LDA CEX,X
  1199.           TAX
  1200.           PLA
  1201.           CPX #39
  1202.           BCS BCDRAW1
  1203.           JSR BXDRAW
  1204. BCDRAW1   LDX INDEX
  1205.           RTS
  1206. *
  1207. *
  1208. *
  1209. PCITIES   LDX #7
  1210.           LDY #21
  1211.           JSR TABS
  1212.           LDA CITIES
  1213.           CMP #10
  1214.           BCS PC:1
  1215.           LDX #8
  1216.           LDY #21
  1217.           JSR TABS
  1218.           LDA CITIES
  1219.           JMP $FDE3
  1220. PC:1      JMP $FDDA
  1221. *
  1222. *
  1223. *
  1224. TABS      STX $24
  1225.           STY $25
  1226.           JMP $FC22
  1227. *
  1228. *
  1229. *
  1230. PSCOR     LDX #26
  1231.           LDY #20
  1232.           JSR TABS
  1233.           LDA SCOR2
  1234.           JSR $FDDA
  1235.           LDA SCOR1
  1236.           JSR $FDDA
  1237.           LDA SCOR0
  1238.           JMP $FDDA
  1239. *
  1240. *
  1241. *
  1242. APOINTS   LDX LEVEL
  1243. AP:1      SED
  1244.           LDA SCOR0
  1245.           CLC
  1246.           ADC #$10
  1247.           STA SCOR0
  1248.           BCC AP:2
  1249.           LDA SCOR1
  1250.           CLC
  1251.           ADC #1
  1252.           STA SCOR1
  1253.           BCC AP:2
  1254.           LDA SCOR2
  1255.           CLC
  1256.           ADC #1
  1257.           STA SCOR2
  1258. AP:2      CLD
  1259.           DEX
  1260.           BNE AP:1
  1261.           JMP PSCOR
  1262. *
  1263. *
  1264. *
  1265. ENDGAME?  LDA CITIES
  1266.           BEQ END:1
  1267.           RTS
  1268. END:1     LDX #19
  1269. END:2     LDA ALIVE,X
  1270.           BNE END:3
  1271.           DEX
  1272.           BPL END:2
  1273.           LDA #3
  1274.           STA RCODE
  1275. END:3     RTS
  1276. *
  1277. *
  1278. *
  1279. NOTSAFE   LDX #0
  1280.           LDY #22
  1281.           JSR TABS
  1282.           LDA #15
  1283.           STA CYCLES
  1284.           LDA #10
  1285.           LDY #150
  1286.           JSR SOUND
  1287.           LDX #<NOT
  1288.           LDY #>NOT
  1289.           JMP PRINT
  1290. NOT       ASC "IT'S NOT SAFE YET!"
  1291.           HEX 00
  1292. *
  1293. *
  1294. *
  1295. PRINT     STX 0
  1296.           STY 1
  1297.           LDY #0
  1298. PRINT:1   LDA (0),Y
  1299.           BEQ PRINT:2
  1300.           JSR $FDED
  1301.           INC 0
  1302.           BNE PRINT:1
  1303.           INC 1
  1304.           BNE PRINT:1
  1305. PRINT:2   RTS
  1306. *
  1307. *
  1308. *
  1309. SAFE?     LDA CYCLES
  1310.           BNE SAFE?:1
  1311.           RTS
  1312. SAFE?:1   DEC CYCLES
  1313.           BEQ SAFE?:2
  1314.           RTS
  1315. SAFE?:2   LDX #0
  1316.           LDY #22
  1317.           JSR TABS
  1318.           LDX #<SPC
  1319.           LDY #>SPC
  1320.           JMP PRINT
  1321. SPC       ASC "                                      "
  1322.           HEX 00
  1323. *
  1324. *
  1325. *
  1326. HURT?     LDA CYC1
  1327.           BNE HURT?:1
  1328.           RTS
  1329. HURT?:1   DEC CYC1
  1330.           BEQ HURT?:2
  1331.           RTS
  1332. HURT?:2   JMP SAFE?:2
  1333. *
  1334. *
  1335. *
  1336. SNAG      LDX #0
  1337.           LDY #22
  1338.           JSR TABS
  1339.           LDA #25
  1340.           STA CYC1
  1341.           LDX #<SNG
  1342.           LDY #>SNG
  1343.           JMP PRINT
  1344. SNG       ASC "AARRGG! A THOUSAND SOULS CRY OUT.."
  1345.           HEX 00
  1346. *
  1347. *
  1348. *
  1349. SCLEAR    LDA #160
  1350.           STA VERT
  1351.           LDA #161
  1352.           STA DEPT
  1353.           LDA #0
  1354.           STA HORZ
  1355. SCLR:1    JSR GET
  1356.           LDY #39
  1357.           LDA #0
  1358. SCLR:2    STA (HP),Y
  1359.           DEY
  1360.           BPL SCLR:2
  1361.           LDA VERT
  1362.           LDY #4
  1363.           JSR SOUND
  1364.           LDA #161
  1365.           SEC
  1366.           SBC VERT
  1367.           LDY #4
  1368.           JSR SOUND
  1369.           DEC VERT
  1370.           DEC DEPT
  1371.           BNE SCLR:1
  1372.           RTS
  1373. *
  1374. *
  1375. *
  1376. BOMB:MOVE
  1377.           LDA LEVEL
  1378.           CMP #20
  1379.           BCS BOM:1
  1380.           RTS
  1381. BOM:1     LDA #19
  1382.           STA INDEX
  1383. BOM:2     LDX INDEX
  1384.           LDA BON,X
  1385.           BNE BOM:4
  1386.           LDA BET1,X
  1387.           BNE BOM:3
  1388.           LDA ALIVE,X
  1389.           BEQ BOM:3
  1390.           LDA MX,X
  1391.           CMP #40
  1392.           BCC BOM:2A
  1393.           BCS BOM:3
  1394. BOM:2A    LDY INDEX
  1395.           LDA #9
  1396.           STA INDEX1
  1397. BOM:2B    LDX INDEX1
  1398.           LDA CALIVE,X
  1399.           BEQ BOM:2B0
  1400.           LDA CX,X
  1401.           CMP MX,Y
  1402.           BEQ BOM:2C
  1403. BOM:2B0   DEC INDEX1
  1404.           BPL BOM:2B
  1405. BOM:3     DEC INDEX
  1406.           BPL BOM:2
  1407.           RTS
  1408. BOM:2C    LDA #1
  1409.           STA BON,Y
  1410.           LDA MX,Y
  1411.           TAX
  1412.           STA BOMX,Y
  1413.           LDA MY,Y
  1414.           STA BOMY,Y
  1415.           TAY
  1416.           LDA #13
  1417.           JSR BXDRAW
  1418.           LDX INDEX
  1419. BOM:4     LDY BOMY,X
  1420.           LDA BOMX,X
  1421.           TAX
  1422.           LDA #13
  1423.           CPX #40
  1424.           BCS BOM:4A
  1425.           JSR BXDRAW
  1426. BOM:4A    LDX INDEX
  1427.           LDA XV
  1428.           BEQ BOM:5
  1429.           LDA BOMX,X
  1430.           SEC
  1431.           SBC XV
  1432.           STA BOMX,X
  1433. BOM:5     LDA BOMY,X
  1434.           CLC
  1435.           ADC #2
  1436.           STA BOMY,X
  1437.           CMP #134
  1438.           BCC BOM:6
  1439.           STA BEY,X
  1440.           LDA #0
  1441.           STA BON,X
  1442.           LDA BOMX,X
  1443.           STA BEX,X
  1444.           LDA #20
  1445.           STA BET1,X
  1446.           JMP BOM:3
  1447. BOM:6     LDY BOMY,X
  1448.           LDA BOMX,X
  1449.           TAX
  1450.           LDA #13
  1451.           CPX #40
  1452.           BCS BOM:6A
  1453.           JSR BXDRAW
  1454. BOM:6A    JMP BOM:3
  1455. *
  1456. *
  1457. *
  1458. EX:BOMB   LDA #19
  1459.           STA INDEX
  1460. EX:BOM1   LDX INDEX
  1461.           LDA BET1,X
  1462.           BNE EX:BOM3
  1463. EX:BOM2   DEC INDEX
  1464.           BPL EX:BOM1
  1465.           RTS
  1466. EX:BOM3   CMP #20
  1467.           BCC EX:BOM4
  1468.           LDA #10
  1469.           STA BESHP,X
  1470.           JSR BBDRAW
  1471.           LDX INDEX
  1472.           DEC BET1,X
  1473. EX:BOM4   JSR BBDRAW
  1474.           JSR BBMOVE
  1475.           INC BESHP,X
  1476.           LDA BESHP,X
  1477.           CMP #13
  1478.           BEQ EX:BOM5
  1479.           JSR BBDRAW
  1480.           JMP EX:BOM2
  1481. EX:BOM5   LDA #10
  1482.           STA BESHP,X
  1483.           JSR BBDRAW
  1484.           DEC BET1,X
  1485.           BEQ EX:BOM6
  1486.           JMP EX:BOM2
  1487. EX:BOM6   JSR BBDRAW
  1488.           JMP EX:BOM2
  1489. BBDRAW    LDX INDEX
  1490.           LDY BEY,X
  1491.           LDA BESHP,X
  1492.           PHA
  1493.           LDA BEX,X
  1494.           TAX
  1495.           PLA
  1496.           CPX #39
  1497.           BCS BBDR
  1498.           JSR BXDRAW
  1499.           LDX INDEX
  1500.           LDA BESHP,X
  1501.           LDY #15
  1502.           JSR SOUND
  1503. BBDR      LDX INDEX
  1504.           RTS
  1505. BBMOVE    LDX INDEX
  1506.           LDA AL
  1507.           BNE BB:MO0
  1508.           RTS
  1509. BB:MO0    LDA XV
  1510.           BNE BB:MO1
  1511.           RTS
  1512. BB:MO1    LDA BEX,X
  1513.           SEC
  1514.           SBC XV
  1515.           STA BEX,X
  1516.           RTS
  1517. *
  1518. *
  1519. *
  1520. BOMB?CITY
  1521.           LDA #19
  1522.           STA INDEX
  1523. BOM?C1    LDX INDEX
  1524.           LDA BON,X
  1525.           BNE BOM?C3
  1526. BOM?C2    DEC INDEX
  1527.           BPL BOM?C1
  1528.           RTS
  1529. BOM?C3    LDA BOMY,X
  1530.           CMP #130
  1531.           BCC BOM?C2
  1532.           LDY INDEX
  1533.           LDA #9
  1534.           STA INDEX1
  1535. BOM?C4    LDX INDEX1
  1536.           LDA CALIVE,X
  1537.           BNE BOM?C6
  1538. BOM?C5    DEC INDEX1
  1539.           BPL BOM?C4
  1540.           BMI BOM?C2
  1541. BOM?C6    LDA BOMX,Y
  1542.           CMP CX,X
  1543.           BEQ BOM?C7
  1544.           CLC
  1545.           ADC #1
  1546.           CMP CX,X
  1547.           BNE BOM?C5
  1548. BOM?C7    LDA #0
  1549.           STA CALIVE,X
  1550.           LDA #20
  1551.           STA CET1,X
  1552.           LDY #134
  1553.           LDA CX,X
  1554.           STA CEX,X
  1555.           TAX
  1556.           CPX #39
  1557.           BCS BOM?C8
  1558.           LDA #6
  1559.           JSR BXDRAW
  1560. BOM?C8    SED
  1561.           LDA CITIES
  1562.           SEC
  1563.           SBC #1
  1564.           STA CITIES
  1565.           CLD
  1566.           JSR PCITIES
  1567.           JSR SNAG
  1568.           JMP BOM?C2
  1569. *
  1570. *
  1571. *
  1572. SHOT?BOMB
  1573.           LDA #19
  1574.           STA INDEX
  1575. SH?B1     LDX INDEX
  1576.           LDA SHALIVE,X
  1577.           BNE SH?B3
  1578. SH?B2     DEC INDEX
  1579.           BPL SH?B1
  1580.           RTS
  1581. SH?B3     LDY INDEX
  1582.           LDA #19
  1583.           STA INDEX1
  1584. SH?B4     LDX INDEX1
  1585.           LDA BON,X
  1586.           BNE SH?B5
  1587. SH?B4A    DEC INDEX1
  1588.           BPL SH?B4
  1589.           BMI SH?B2
  1590. SH?B5     LDA SHX,Y
  1591.           CMP BOMX,X
  1592.           BNE SH?B4A
  1593.           LDA SHY,Y
  1594.           SEC
  1595.           SBC BOMY,X
  1596.           CMP #5
  1597.           BCC SH?B6
  1598.           CMP #253
  1599.           BCC SH?B4A
  1600. SH?B6     LDA #0
  1601.           STA BON,X
  1602.           LDA #20
  1603.           STA BET1,X
  1604.           LDA BOMY,X
  1605.           STA BEY,X
  1606.           TAY
  1607.           LDA BOMX,X
  1608.           STA BEX,X
  1609.           TAX
  1610.           LDA #13
  1611.           JSR BXDRAW
  1612.           JSR APOINTS
  1613.           JMP SH?B2
  1614. *
  1615. *
  1616. *
  1617. JOY:X     LDA AL
  1618.           BEQ JOY:X0
  1619.           LDA KORJ
  1620.           CMP #"K"
  1621.           BEQ JOY:X0
  1622.           LDX #0
  1623.           JSR $FB1E
  1624.           CPY #90
  1625.           BCC JOY:X1
  1626.           CPY #140
  1627.           BCS JOY:X2
  1628.           LDA #0
  1629.           STA XV
  1630. JOY:X0    RTS
  1631. JOY:X1    JMP CONT:2A
  1632. JOY:X2    JMP CONT:3A
  1633. *
  1634. *
  1635. *
  1636. JOY:Y     LDA AL
  1637.           BEQ JOY:X0
  1638.           LDA KORJ
  1639.           CMP #"K"
  1640.           BEQ JOY:X0
  1641.           LDX #1
  1642.           JSR $FB1E
  1643.           CPY #55
  1644.           BCC JOY:Y1
  1645.           CPY #250
  1646.           BCS JOY:Y2
  1647.           LDA #0
  1648.           STA YV
  1649.           RTS
  1650. JOY:Y1    LDA #253
  1651.           STA YV
  1652.           RTS
  1653. JOY:Y2    LDA #3
  1654.           STA YV
  1655.           RTS
  1656. *
  1657. *
  1658. *
  1659. BUTTON    LDA KORJ
  1660.           CMP #"K"
  1661.           BEQ BUTN:1
  1662.           BIT $C061
  1663.           BPL BUTN:1
  1664.           DEC STIMER
  1665.           BNE BUTN:1
  1666.           LDA #1
  1667.           STA FIRE
  1668.           LDA #2
  1669.           STA STIMER
  1670. BUTN:1    RTS
  1671.